home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 September / PCWorld_2002-09_cd.bin / Software / Vyzkuste / httrack / httrack-3.20RC4.exe / {app} / src / md5.h < prev    next >
C/C++ Source or Header  |  2000-08-19  |  977b  |  37 lines

  1. #ifndef MD5_H
  2. #define MD5_H
  3.  
  4. #ifdef __alpha
  5. typedef unsigned int uint32;
  6. #else
  7. typedef unsigned long uint32;
  8. #endif
  9.  
  10. struct MD5Context {
  11.   uint32 buf[4];
  12.   uint32 bits[2];
  13.   unsigned char in[64];
  14.   int doByteReverse;
  15. };
  16.  
  17. void MD5Init(struct MD5Context *context, int brokenEndian);
  18. void MD5Update(struct MD5Context *context, unsigned char const *buf,
  19.                unsigned len);
  20. void MD5Final(unsigned char digest[16], struct MD5Context *context);
  21. void MD5Transform(uint32 buf[4], uint32 const in[16]);
  22.  
  23. int mdfile(char *fn, unsigned char *digest);
  24. int mdbinfile(char *fn, unsigned char *bindigest);
  25.  
  26. /* These assume a little endian machine and return incorrect results! 
  27. They are here for compatibility with old (broken) versions of RPM */
  28. int mdfileBroken(char *fn, unsigned char *digest);
  29. int mdbinfileBroken(char *fn, unsigned char *bindigest);
  30.  
  31. /*
  32. * This is needed to make RSAREF happy on some MS-DOS compilers.
  33. */
  34. typedef struct MD5Context MD5_CTX;
  35.  
  36. #endif /* !MD5_H */
  37.